Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

[...nextauth].ts 1012B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import NextAuth from 'next-auth';
  2. import Credentials from 'next-auth/providers/credentials';
  3. import dbConnect from '../../../utils/helpers/dbHelpers';
  4. const User = require('../../../models/user');
  5. export default NextAuth({
  6. session: {
  7. strategy: 'jwt',
  8. },
  9. callbacks: {
  10. async jwt({ token, user, account, profile, isNewUser }) {
  11. return { ...token, ...user };
  12. },
  13. async session({ session, token, user }) {
  14. return session;
  15. },
  16. },
  17. providers: [
  18. Credentials({
  19. name: 'Credentials',
  20. credentials: {
  21. username: { label: 'Username', type: 'text' },
  22. password: { label: 'Password', type: 'password' },
  23. },
  24. // @ts-ignore
  25. async authorize(credentials) {
  26. if (credentials) {
  27. await dbConnect();
  28. const userData = await User.findByCredentials(
  29. credentials.username,
  30. credentials.password
  31. );
  32. return { user: userData };
  33. }
  34. return null;
  35. },
  36. }),
  37. ],
  38. });